A typical digital computer system includes one or more disk subsystems for storing both data and instructions. Disks within the disk subsystems are divided into a plurality of tracks, at selected radial distances from the center and sectors which define particular angular regions across each track. When plural disks are present in a disk drive system, identically positioned tracks on each disk are handled as a volume (or cylinder).
Since stored data may be unintentionally corrupted or destroyed, systems have been developed that create multiple copies of stored data, usually on separate disk drives so that if the data on one of the devices or disks is damaged, it can be recovered from one or more of the remaining copies. The prior art refers to such provision of copies as either "shadowing" or "mirroring" of data.
While some systems create the shadow or mirrored copy at the end of a discrete period, many systems now back up their data on a continuing basis so as to maintain mirrored copies in "synchronism". Under certain circumstances, mirrored copies of data on two disk drives can become unsynchronized, e.g., where there is a failure in one disk drive, a data corruption during a read or write action, a data transmission problem, etc., etc.
The prior art has attempted to cope with failures in synchronization between data stored on mirrored or shadowed disk drive arrangements. U.S. Pat. No. 5,504,861 to Crockett et al., describes a remote data shadowing system wherein synchronization is accomplished by assuring that record updates are ordered so that the record updates at the shadowed disk are accomplished in an order that is consistent with the order of the record updates at the primary disk. The backup (shadow) site optimizes the record updates of each group of updates such that the record updates to a same target track are included in a single input/output chain.
U.S. Pat. No. 5,398,331 to Huang et al. describes a synchronization procedure for dual copy shared data which executes an error interrupt system when an out-of-synchronization condition is detected. Under such a circumstance, the primary disk storage subsystem continues to operate in a non-redundant mode until all outstanding requests have been completed. Thereafter, a quiescent state is entered and the entire shared storage contents are image-copied from one storage controller to a failed storage controller (wherein the non-synchronous circumstance was determined). Operations are then resumed and the duplexed controller is restarted in synchronism.
U.S. Pat. No. 5,155,845 to Beal et al. describes a mirroring arrangement that is indicated to be an improvement over the Crockett et al. U.S. Pat. No. 5,504,861 discussed above. In the Beal et al. system, a failure of a single system element, such as a disk controller common to a plurality of disk drives, does not prevent the host processor from accessing a duplicate copy of a record on a disk drive of a second controller. More specifically, in Beal et al., the host processor transmits a read request to a first disk controller which passes the request, via a direct data link, to a second disk controller whose disk drive executes the request, reads a duplicate copy of the record and transmits the record contents over the data link to the first disk controller and, in turn, to the requesting host processor.
U.S. Pat. No. 5,23,637 to Davis et al.; U.S. Pat. No. 5,615,329 to Kearn et al.; and U.S. Pat. No. 5,101,492 to Schultz et al. each describe methods for assuring continued synchronism between primary and backup copies of mirrored data.
During any synchronization of disk drives which include shared data, substantial time is consumed in transferring data from the primary disk drive to the backup disk drive or vice versa. In fact, when synchronizing a pair of disk drives which maintain mirrored data, all tracks (and volumes) are generally transferred, thereby utilizing substantial processing and communication resources to accomplish the transference of the mirrored data.
It is an object of this invention to provide an improved method and apparatus for synchronization of disk drives which contain mirrored data.
It is a further object of this invention to reduce the amount of time required when implementing a mirrored data resynchronization action.